首页 > 试题广场 >

二叉树的前序遍历

[编程题]二叉树的前序遍历
  • 热度指数:103081 时间限制:C/C++ 1秒,其他语言2秒 空间限制:C/C++ 256M,其他语言512M
  • 算法知识视频讲解
给你二叉树的根节点 root ,返回它节点值的 前序 遍历。

数据范围:二叉树的节点数量满足 ,二叉树节点的值满足 ,树的各节点的值各不相同

示例 1:


示例1

输入

{1,#,2,3}

输出

[1,2,3]

说明:本题目包含复杂数据结构TreeNode,点此查看相关信息
function preorderTraversal(root) {
  // write code here
  let result = [];
  if (root) {
    result.push(root.val);
    result.push(...preorderTraversal(root.left));
    result.push(...preorderTraversal(root.right));
  }
  return result;
}

发表于 2022-09-27 15:22:06 回复(0)
/*
 * function TreeNode(x) {
 *   this.val = x;
 *   this.left = null;
 *   this.right = null;
 * }
 */
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 *
 * @param root TreeNode类
 * @return int整型一维数组
 */
function preorderTraversal(root) {
  // write code here
  let result = [];
  const main = (node) => {
    if (node) {
      result.push(node.val);
      main(node.left);
      main(node.right);
    }
  };
  main(root);
  return result;
}
module.exports = {
  preorderTraversal: preorderTraversal,
};

发表于 2022-07-18 18:22:27 回复(0)
/*
 * function TreeNode(x) {
 *   this.val = x;
 *   this.left = null;
 *   this.right = null;
 * }
 */
/**
 * 代码中的类名、方法名、参数名已经指定,请勿修改,直接返回方法规定的值即可
 *
 * 
 * @param root TreeNode类 
 * @return int整型一维数组
 */
function preorderTraversal( root ) {
    if(!root) return []
    let array = []
    preorder(root, array)
    return array
}

function preorder(node, arr) {
    node.val && arr.push(node.val)
    node.left && preorder(node.left, arr)
    node.right && preorder(node.right, arr)
}
module.exports = {
    preorderTraversal : preorderTraversal
};

发表于 2022-06-13 17:07:30 回复(0)

问题信息

难度:
3条回答 5386浏览

热门推荐

通过挑战的用户

查看代码